import 'package:flutter/material.dart';
import 'package:manual/utils/logger.dart';

class ImageListProvider extends ChangeNotifier {
  // 初始图片列表
  final List<Map<String, String>> _initialImages  = List.generate(
    10,
    (index) => {
      "path": "lib/assets/images/common/img_${(index % 4) + 1}.png",
      "id": "$index"
    },
  );

  // 当前图片列表
  List<Map<String, String>> _imgList = [];

  ImageListProvider() {
    Logger.info("初始化图片列表" ,tag: "ImgList");
    _imgList.addAll(_initialImages); // 初始化图片列表
  }

  // 获取图片列表
  List<Map<String, String>> get imgList => _imgList;

  // 动态添加图片
  void addImage(String path) {
    final newImage = {
      "path": path,
      "id": "${_imgList.length}", // 新图片的 ID
    };
    _imgList.add(newImage);
    notifyListeners(); // 通知监听器更新
  }

  // 删除图片
  void removeImage(int index) {
    if (index >= 0 && index < _imgList.length) {
      _imgList.removeAt(index);
      notifyListeners(); // 通知监听器更新
    }
  }

  void reset(){
    _imgList.clear(); // 清空当前图片列表
    _imgList.addAll(_initialImages); // 重新添加初始数据
    notifyListeners(); // 通知监听器更新
  }

   // 设置新的图片数据（下拉刷新用）
  void setImages(List<Map<String, String>> images) {
    _imgList = images;
    notifyListeners();
  }
}
